This invention relates to techniques for detecting defects in data apparatus and, more particularly, to a method and apparatus for detecting such defects, as may be present in magnetic storage apparatus, for example, in hard disk drives, by sensing whether recovered data pulses occur during predetermined window intervals which, in accordance with the present invention, are margined.
It is desirable to execute diagnostic tests in data processing devices, particularly data storage apparatus such as hard disk drives, to determine whether data retrieval defects may be present. In hard disk drives, a typical defect or error is manifested by a shift in the time of occurrence of a data pulse, or bit, relative to the expected time of occurrence thereof. Although time, or phase, shifting of reproduced data pulses is expected, a bit shifting error which exceeds preset tolerable limits usually is indicative of a defect in the magnetic medium or in the components which are used to record or play back the data pulses. If the bit shift is sufficiently large, data errors will be present during data recovery operations, such as data read operations, which will prevent intelligible data reproduction or recovery.
It has been found that bit shift errors are attributable to one or more of the following defects, which are listed herein merely as examples and not intended to be all-encompassing or limiting: variations in the flatness of the surface of the magnetic medium, variations in the uniformity of the magnetic properties of the magnetic field, variations in the motion or speed of the medium relative to the transducers used therewith, imperfect or poorly compensated peak bit shift compensation, deep magnetization of the magnetic medium, interference from magnetic patterns on adjacent areas or tracks, incomplete erasure or over-writing of prior data, magnetic noise and electrical noise.
Magnetic hard disk storage devices usually are analyzed during the manufacturing/assembly operation, and prior to shipment to a user, to detect the presence of one or more of the aforementioned defects. However, typical analysis equipment, such as that used to measure the bit error rate, is expensive and the test procedures are time-consuming. Moreover, it is possible that some defects escape detection during the testing operation, and others may develop during normal operation of the disk drive. Accordingly, it is desirable to provide on-board diagnostic testing of the disk drive to minimize use of expensive, external equipment and to facilitate testing even after the disk drive is installed in a host data processing device, such as a microcomputer. Indeed, even after data is written into several sectors of the disk(s), additional diagnostic testing before data is written to other sectors is desirable so as to determine which, if any, of those other sectors is defective and should not be used.
In carrying out a write operation with a hard disk drive, data pulses generally are present for recording during predetermined time intervals. Of course, the greater the recording rate, the more closely spaced are the data pulses. A read operation is carried out by generating periodic window intervals synchronized with the clock information recovered from the played back data, and the presence or absence of a data pulse during a window interval determines whether a binary "1" or "0" is recovered. However, the phenomenon of bit shift errors results in the shifting of a reproduced data pulse such that it no longer occurs during the desired center of the aforementioned window. Rather, the recovered data pulse may be shifted toward the leading or trailing edges of the window; and it is expected that such shifting will, in fact, occur and is tolerable, provided that the shifted pulse nevertheless occurs within the window duration. If a recovered data pulse is shifted by an amount whereby it no longer falls within this window, the pulse may be erroneously interpreted, for example, a succeeding binary "0" may be falsely interpreted as a binary "1", giving rise to data errors. Thus, it is important to determine whether a recovered data pulse falls within predetermined window intervals. If not, an error, for example, defects in a hard disk drive, should be noted.
Typical testing of a disk drive serves to detect whether the bit error rate (which may be due, in part, to bit shifting) is within preset limits. If not, the disk drive, or at least certain tracks or sectors, is determined to be defective. Bit error rate generally is a function of the width of the read-detect window. The wider this window, the less likely will bit shifting result in an error. Conversely, it is expected that the bit error rate will increase as the window is narrowed. Thus, during testing, the bit error rate may be ascertained by "shrinking" the window (known as window margining), and detecting the number of bits that occur outside the shrunken window. This is described in more detail in U.S. Pat. No. 4,809,088. A defect is determined if the number of these bit errors per a predetermined number of bits is too large (for example, if there is more than one bit error per 10.sup.10 bits).
U.S. Pat. No. 4,682,252 describes a technique for determining a bit error rate as a function of the size of the window interval used to detect data pulses. Bits whose significant edge, such as the leading and/or trailing edge, falls outside the window are recognized as errors. Window margining is described wherein the effective size, or duration, of the window is shrunk by shifting the recovered data pulses. For example, the trailing edge of a window may be effectively reduced so as to narrow the window interval by delaying the data pulse relative to a fixed window. Such window margining, or relative pulse/window shifting, is achieved by using programmably modifiable monostable multivibrators.
U.S. Pat. No. 4,682,252 refers to U.S. Pat. 4,394,695 in which raw data is used to generate a window of predetermined width at a preset clocking rate. This raw data also is applied to a delay circuit formed of a discrete tapped delay line which functions to delay the data by predetermined amounts relative to the leading edge of the generated window. By selectively delaying the raw data signal, as by deriving that signal from different taps of the delay line, the position of the delayed data pulse relative to the window is varied, thereby effectively margining the data window. Depending upon the delay which is selected, that is, the tap which is chosen, the window may be sufficiently narrowed such that some delayed data pulses occur outside the generated window.